package com.lottery.game.core.model.dto.game;

import com.lottery.game.common.BaseObject;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AccessLevel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

@NoArgsConstructor
@AllArgsConstructor(access = AccessLevel.PRIVATE)
@Builder
@Getter
@Setter
@ApiModel(value = "游戏房间")
public class GameRoomTO extends BaseObject {
    /**
     * 主键
     */
    @Id
    @Column(name = "id")
    @GeneratedValue(generator = "JDBC")
    @ApiModelProperty(value = "主键")
    private String id;

    /**
     * 编号
     */
    @Column(name = "no")
    @ApiModelProperty(value = "房间编号")
    private Integer no;

    /**
     * 房间名字
     */
    @Column(name = "name")
    @ApiModelProperty(value = "房间名字")
    private String name;

    /**
     * 机器人名字
     */
    @Column(name = "robot_name")
    @ApiModelProperty(value = "机器人名字")
    private String robotName;

    /**
     * 机器人头像
     */
    @Column(name = "robot_photo")
    @ApiModelProperty(value = "机器人头像")
    private String robotPhoto;

    /**
     * 是否开启竞猜
     */
    @Column(name = "guess_flag")
    @ApiModelProperty(value = "是否开启竞猜")
    private String guessFlag;

    @Column(name = "open_flag")
    @ApiModelProperty(value = "房间开关")
    private String openFlag;

    /**
     * 在线人数
     */
    @Column(name = "count")
    @ApiModelProperty(value = "在线人数")
    private Integer count;

    /**
     * 创建者
     */
    @Column(name = "create_by")
    private String createBy;

    /**
     * 创建时间
     */
    @Column(name = "create_date")
    private Date createDate;

    /**
     * 更新者
     */
    @Column(name = "update_by")
    private String updateBy;

    /**
     * 更新时间
     */
    @Column(name = "update_date")
    private Date updateDate;

    /**
     * 备注信息
     */
    @Column(name = "remarks")
    private String remarks;


    @Column(name = "roomnumber")
    @ApiModelProperty(value = "房间👌")
    private Integer roomnumber;

    /**
     * 房间图标
     */
    @Column(name = "room_icon")
    @ApiModelProperty(value = "房间图标")
    private String roomIcon;

    @Column(name = "guess_flag_context")
    private String guessFlagContext;

    @Column(name = "open_flag_context")
    private String openFlagContext;

    /**
     * 开启聊天
     */
    @Column(name = "open_chat")
    @ApiModelProperty(value = "开启聊天")
    private String openChat;

    @Column(name = "open_chat_context")
    private String openChatContext;

    /**
     * 房间彩种
     */
    @Column(name = "room_lottery_ticket_type")
    @ApiModelProperty(value = "彩种类型（1：北京28，2：加拿大28，3：北京赛车，4：时时彩）")
    private String roomLotteryTicketType;

    @Column(name = "room_lottery_ticket_type_context")
    @ApiModelProperty(value = "游戏名称")
    private String roomLotteryTicketTypeContext;

    @Column(name = "duration")
    @ApiModelProperty(value = "游戏持续时间 封盘到开奖时间")
    private Integer duration;

    @Column(name = "lotteryTime")
    @ApiModelProperty(value = "封盘持续时间  即封盘到下期开始时间")
    private Integer lotterytime;

    /**
     * 维护时间段
     */
    @Column(name = "maintenance_time")
    @ApiModelProperty(value = "维护时间段")
    private String maintenanceTime;

    /**
     * 维护开始时间
     */
    @Column(name = "maintenance_start_time")
    @ApiModelProperty(value = "维护开始时间")
    private String maintenanceStartTime;

    /**
     * 维护结束时间
     */
    @Column(name = "maintenance_end_time")
    @ApiModelProperty(value = "维护结束时间")
    private String maintenanceEndTime;

    /**
     * 对子豹子顺子/组合赔率:1：开启;0:关闭
     */
    @Column(name = "combinatorial_odds_switch")
    @ApiModelProperty(value = "对子豹子顺子/组合赔率:1：开启;0:关闭")
    private String combinatorialOddsSwitch;

    /**
     * 游戏类型名称
     */
    @Column(name = "game_type_id")
    @ApiModelProperty(value = "游戏类型编号")
    private String gameTypeId;

    /**
     * 游戏名字
     */
    @Column(name = "game_type_name")
    @ApiModelProperty(value = "游戏名字")
    private String gameTypeName;


    @Column(name = "oddsNote")
    private String oddsnote;

    @Column(name = "playNote")
    private String playnote;
}
